package com.quxiu.system.service;

import java.util.List;
import java.util.Map;

import com.quxiu.system.domain.BpmProc;
import com.quxiu.system.domain.vo.BpmProcVo;

/**
 * 流程定义Service接口
 *
 * @author quxiu
 * @date 2024-06-14
 */
public interface IBpmProcService {
    /**
     * 查询流程定义
     *
     * @param procId 流程定义主键
     * @return 流程定义
     */
    public BpmProcVo selectBpmProcByProcId(Long procId);
    public BpmProcVo selectBpmProcByVersionId(Long procId);

    /**
     * 查询流程定义列表
     *
     * @param bpmProc 流程定义
     * @return 流程定义集合
     */
    public List<BpmProc> selectBpmProcList(BpmProc bpmProc);

    /**
     * 新增流程定义
     *
     * @param params 流程定义
     * @return 结果
     */
    public void insertBpmProc(BpmProcVo params);

    /**
     * 修改流程定义
     *
     * @param params 流程定义
     * @return 结果
     */
    public void updateBpmProc(BpmProcVo params);

    /**
     * 删除流程定义信息
     *
     * @param procId 流程定义主键
     * @return 结果
     */
    public int deleteBpmProcByProcId(Long procId);

    /**
     * 按分组获取流程定义
     * @return
     */
    Map<String, List<BpmProc>> getProcForGroup();
}
